﻿/**
 * Copyright 2008-2015 Mohawk College of Applied Arts and Technology
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you 
 * may not use this file except in compliance with the License. You may 
 * obtain a copy of the License at 
 * 
 * http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations under 
 * the License.
 * 
 * User: fyfej
 */

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.296
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace MARC.IHE.Xds.Repository {
    
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ServiceModel.ServiceContractAttribute(Namespace="urn:ihe:iti:xds-b:2007", ConfigurationName="Repository.DocumentRepository_PortType")]
    public interface DocumentRepository_PortType {
        
        // CODEGEN: Generating message contract since the operation DocumentRepository_RetrieveDocumentSet is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="urn:ihe:iti:2007:RetrieveDocumentSet", ReplyAction="urn:ihe:iti:2007:RetrieveDocumentSetResponse")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistryRequestType))]
        MARC.IHE.Xds.Repository.DocumentRepository_RetrieveDocumentSetResponse DocumentRepository_RetrieveDocumentSet(MARC.IHE.Xds.Repository.DocumentRepository_RetrieveDocumentSetRequest request);
        
        // CODEGEN: Generating message contract since the operation DocumentRepository_ProvideAndRegisterDocumentSet-b is neither RPC nor document wrapped.
        [System.ServiceModel.OperationContractAttribute(Action="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-b", ReplyAction="urn:ihe:iti:2007:ProvideAndRegisterDocumentSet-bResponse")]
        [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(RegistryRequestType))]
        MARC.IHE.Xds.Repository.DocumentRepository_ProvideAndRegisterDocumentSetbResponse DocumentRepository_ProvideAndRegisterDocumentSetb(MARC.IHE.Xds.Repository.DocumentRepository_ProvideAndRegisterDocumentSetbRequest request);
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:ihe:iti:xds-b:2007")]
    public partial class RetrieveDocumentSetRequestTypeDocumentRequest : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string homeCommunityIdField;
        
        private string repositoryUniqueIdField;
        
        private string documentUniqueIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string HomeCommunityId {
            get {
                return this.homeCommunityIdField;
            }
            set {
                this.homeCommunityIdField = value;
                this.RaisePropertyChanged("HomeCommunityId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string RepositoryUniqueId {
            get {
                return this.repositoryUniqueIdField;
            }
            set {
                this.repositoryUniqueIdField = value;
                this.RaisePropertyChanged("RepositoryUniqueId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string DocumentUniqueId {
            get {
                return this.documentUniqueIdField;
            }
            set {
                this.documentUniqueIdField = value;
                this.RaisePropertyChanged("DocumentUniqueId");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class QueryExpressionType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private System.Xml.XmlNode[] anyField;
        
        private string queryLanguageField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
        public System.Xml.XmlNode[] Any {
            get {
                return this.anyField;
            }
            set {
                this.anyField = value;
                this.RaisePropertyChanged("Any");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string queryLanguage {
            get {
                return this.queryLanguageField;
            }
            set {
                this.queryLanguageField = value;
                this.RaisePropertyChanged("queryLanguage");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(NotifyActionType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public abstract partial class ActionType : object, System.ComponentModel.INotifyPropertyChanged {
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class NotifyActionType : ActionType {
        
        private string notificationOptionField;
        
        private string endPointField;
        
        public NotifyActionType() {
            this.notificationOptionField = "urn:oasis:names:tc:ebxml-regrep:NotificationOptionType:ObjectRefs";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        [System.ComponentModel.DefaultValueAttribute("urn:oasis:names:tc:ebxml-regrep:NotificationOptionType:ObjectRefs")]
        public string notificationOption {
            get {
                return this.notificationOptionField;
            }
            set {
                this.notificationOptionField = value;
                this.RaisePropertyChanged("notificationOption");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string endPoint {
            get {
                return this.endPointField;
            }
            set {
                this.endPointField = value;
                this.RaisePropertyChanged("endPoint");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class PersonNameType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string firstNameField;
        
        private string middleNameField;
        
        private string lastNameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string firstName {
            get {
                return this.firstNameField;
            }
            set {
                this.firstNameField = value;
                this.RaisePropertyChanged("firstName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string middleName {
            get {
                return this.middleNameField;
            }
            set {
                this.middleNameField = value;
                this.RaisePropertyChanged("middleName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string lastName {
            get {
                return this.lastNameField;
            }
            set {
                this.lastNameField = value;
                this.RaisePropertyChanged("lastName");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class EmailAddressType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string addressField;
        
        private string typeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
                this.RaisePropertyChanged("address");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string type {
            get {
                return this.typeField;
            }
            set {
                this.typeField = value;
                this.RaisePropertyChanged("type");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class TelephoneNumberType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string areaCodeField;
        
        private string countryCodeField;
        
        private string extensionField;
        
        private string numberField;
        
        private string phoneTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string areaCode {
            get {
                return this.areaCodeField;
            }
            set {
                this.areaCodeField = value;
                this.RaisePropertyChanged("areaCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string countryCode {
            get {
                return this.countryCodeField;
            }
            set {
                this.countryCodeField = value;
                this.RaisePropertyChanged("countryCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string extension {
            get {
                return this.extensionField;
            }
            set {
                this.extensionField = value;
                this.RaisePropertyChanged("extension");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string number {
            get {
                return this.numberField;
            }
            set {
                this.numberField = value;
                this.RaisePropertyChanged("number");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string phoneType {
            get {
                return this.phoneTypeField;
            }
            set {
                this.phoneTypeField = value;
                this.RaisePropertyChanged("phoneType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class PostalAddressType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string cityField;
        
        private string countryField;
        
        private string postalCodeField;
        
        private string stateOrProvinceField;
        
        private string streetField;
        
        private string streetNumberField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string city {
            get {
                return this.cityField;
            }
            set {
                this.cityField = value;
                this.RaisePropertyChanged("city");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string country {
            get {
                return this.countryField;
            }
            set {
                this.countryField = value;
                this.RaisePropertyChanged("country");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string postalCode {
            get {
                return this.postalCodeField;
            }
            set {
                this.postalCodeField = value;
                this.RaisePropertyChanged("postalCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string stateOrProvince {
            get {
                return this.stateOrProvinceField;
            }
            set {
                this.stateOrProvinceField = value;
                this.RaisePropertyChanged("stateOrProvince");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string street {
            get {
                return this.streetField;
            }
            set {
                this.streetField = value;
                this.RaisePropertyChanged("street");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string streetNumber {
            get {
                return this.streetNumberField;
            }
            set {
                this.streetNumberField = value;
                this.RaisePropertyChanged("streetNumber");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ObjectRefListType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ObjectRefType[] objectRefField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ObjectRef", Order=0)]
        public ObjectRefType[] ObjectRef {
            get {
                return this.objectRefField;
            }
            set {
                this.objectRefField = value;
                this.RaisePropertyChanged("ObjectRef");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ObjectRefType : IdentifiableType {
        
        private bool createReplicaField;
        
        public ObjectRefType() {
            this.createReplicaField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool createReplica {
            get {
                return this.createReplicaField;
            }
            set {
                this.createReplicaField = value;
                this.RaisePropertyChanged("createReplica");
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(RegistryObjectType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(NotificationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AdhocQueryType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SubscriptionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(FederationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(RegistryType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SpecificationLinkType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceBindingType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(RegistryPackageType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganizationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExtrinsicObjectType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExternalLinkType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationSchemeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationNodeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AuditableEventType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AssociationType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExternalIdentifierType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ObjectRefType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class IdentifiableType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private SlotType1[] slotField;
        
        private string idField;
        
        private string homeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Slot", Order=0)]
        public SlotType1[] Slot {
            get {
                return this.slotField;
            }
            set {
                this.slotField = value;
                this.RaisePropertyChanged("Slot");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
                this.RaisePropertyChanged("id");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string home {
            get {
                return this.homeField;
            }
            set {
                this.homeField = value;
                this.RaisePropertyChanged("home");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class SlotType1 : object, System.ComponentModel.INotifyPropertyChanged {
        
        private ValueListType valueListField;
        
        private string nameField;
        
        private string slotTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public ValueListType ValueList {
            get {
                return this.valueListField;
            }
            set {
                this.valueListField = value;
                this.RaisePropertyChanged("ValueList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string slotType {
            get {
                return this.slotTypeField;
            }
            set {
                this.slotTypeField = value;
                this.RaisePropertyChanged("slotType");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ValueListType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string[] valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Value", Order=0)]
        public string[] Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(NotificationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AdhocQueryType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SubscriptionType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(FederationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(RegistryType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SpecificationLinkType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceBindingType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(RegistryPackageType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganizationType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExtrinsicObjectType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExternalLinkType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationSchemeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationNodeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AuditableEventType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AssociationType1))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ExternalIdentifierType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ClassificationType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class RegistryObjectType : IdentifiableType {
        
        private InternationalStringType nameField;
        
        private InternationalStringType descriptionField;
        
        private VersionInfoType versionInfoField;
        
        private ClassificationType[] classificationField;
        
        private ExternalIdentifierType[] externalIdentifierField;
        
        private string lidField;
        
        private string objectTypeField;
        
        private string statusField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public InternationalStringType Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
                this.RaisePropertyChanged("Name");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public InternationalStringType Description {
            get {
                return this.descriptionField;
            }
            set {
                this.descriptionField = value;
                this.RaisePropertyChanged("Description");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public VersionInfoType VersionInfo {
            get {
                return this.versionInfoField;
            }
            set {
                this.versionInfoField = value;
                this.RaisePropertyChanged("VersionInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Classification", Order=3)]
        public ClassificationType[] Classification {
            get {
                return this.classificationField;
            }
            set {
                this.classificationField = value;
                this.RaisePropertyChanged("Classification");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ExternalIdentifier", Order=4)]
        public ExternalIdentifierType[] ExternalIdentifier {
            get {
                return this.externalIdentifierField;
            }
            set {
                this.externalIdentifierField = value;
                this.RaisePropertyChanged("ExternalIdentifier");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string lid {
            get {
                return this.lidField;
            }
            set {
                this.lidField = value;
                this.RaisePropertyChanged("lid");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string objectType {
            get {
                return this.objectTypeField;
            }
            set {
                this.objectTypeField = value;
                this.RaisePropertyChanged("objectType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("status");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class InternationalStringType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private LocalizedStringType[] localizedStringField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("LocalizedString", Order=0)]
        public LocalizedStringType[] LocalizedString {
            get {
                return this.localizedStringField;
            }
            set {
                this.localizedStringField = value;
                this.RaisePropertyChanged("LocalizedString");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class LocalizedStringType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string langField;
        
        private string charsetField;
        
        private string valueField;
        
        public LocalizedStringType() {
            this.charsetField = "UTF-8";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form=System.Xml.Schema.XmlSchemaForm.Qualified, Namespace="http://www.w3.org/XML/1998/namespace")]
        public string lang {
            get {
                return this.langField;
            }
            set {
                this.langField = value;
                this.RaisePropertyChanged("lang");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("UTF-8")]
        public string charset {
            get {
                return this.charsetField;
            }
            set {
                this.charsetField = value;
                this.RaisePropertyChanged("charset");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class VersionInfoType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string versionNameField;
        
        private string commentField;
        
        public VersionInfoType() {
            this.versionNameField = "1.1";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("1.1")]
        public string versionName {
            get {
                return this.versionNameField;
            }
            set {
                this.versionNameField = value;
                this.RaisePropertyChanged("versionName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string comment {
            get {
                return this.commentField;
            }
            set {
                this.commentField = value;
                this.RaisePropertyChanged("comment");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ClassificationType : RegistryObjectType {
        
        private string classificationSchemeField;
        
        private string classifiedObjectField;
        
        private string classificationNodeField;
        
        private string nodeRepresentationField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string classificationScheme {
            get {
                return this.classificationSchemeField;
            }
            set {
                this.classificationSchemeField = value;
                this.RaisePropertyChanged("classificationScheme");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string classifiedObject {
            get {
                return this.classifiedObjectField;
            }
            set {
                this.classifiedObjectField = value;
                this.RaisePropertyChanged("classifiedObject");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string classificationNode {
            get {
                return this.classificationNodeField;
            }
            set {
                this.classificationNodeField = value;
                this.RaisePropertyChanged("classificationNode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string nodeRepresentation {
            get {
                return this.nodeRepresentationField;
            }
            set {
                this.nodeRepresentationField = value;
                this.RaisePropertyChanged("nodeRepresentation");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ExternalIdentifierType : RegistryObjectType {
        
        private string registryObjectField;
        
        private string identificationSchemeField;
        
        private string valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string registryObject {
            get {
                return this.registryObjectField;
            }
            set {
                this.registryObjectField = value;
                this.RaisePropertyChanged("registryObject");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string identificationScheme {
            get {
                return this.identificationSchemeField;
            }
            set {
                this.identificationSchemeField = value;
                this.RaisePropertyChanged("identificationScheme");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("value");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class NotificationType : RegistryObjectType {
        
        private IdentifiableType[] registryObjectListField;
        
        private string subscriptionField;
        
        /// <remarks/>, IsNullable = true
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Identifiable", IsNullable=false)]
        public IdentifiableType[] RegistryObjectList {
            get {
                return this.registryObjectListField;
            }
            set {
                this.registryObjectListField = value;
                this.RaisePropertyChanged("RegistryObjectList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string subscription {
            get {
                return this.subscriptionField;
            }
            set {
                this.subscriptionField = value;
                this.RaisePropertyChanged("subscription");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class AdhocQueryType : RegistryObjectType {
        
        private QueryExpressionType queryExpressionField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public QueryExpressionType QueryExpression {
            get {
                return this.queryExpressionField;
            }
            set {
                this.queryExpressionField = value;
                this.RaisePropertyChanged("QueryExpression");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class SubscriptionType : RegistryObjectType {
        
        private ActionType[] itemsField;
        
        private string selectorField;
        
        private System.DateTime startTimeField;
        
        private bool startTimeFieldSpecified;
        
        private System.DateTime endTimeField;
        
        private bool endTimeFieldSpecified;
        
        private string notificationIntervalField;
        
        public SubscriptionType() {
            this.notificationIntervalField = "P1D";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Action", typeof(ActionType), Order=0)]
        [System.Xml.Serialization.XmlElementAttribute("NotifyAction", typeof(NotifyActionType), Order=0)]
        public ActionType[] Items {
            get {
                return this.itemsField;
            }
            set {
                this.itemsField = value;
                this.RaisePropertyChanged("Items");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string selector {
            get {
                return this.selectorField;
            }
            set {
                this.selectorField = value;
                this.RaisePropertyChanged("selector");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime startTime {
            get {
                return this.startTimeField;
            }
            set {
                this.startTimeField = value;
                this.RaisePropertyChanged("startTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool startTimeSpecified {
            get {
                return this.startTimeFieldSpecified;
            }
            set {
                this.startTimeFieldSpecified = value;
                this.RaisePropertyChanged("startTimeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime endTime {
            get {
                return this.endTimeField;
            }
            set {
                this.endTimeField = value;
                this.RaisePropertyChanged("endTime");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool endTimeSpecified {
            get {
                return this.endTimeFieldSpecified;
            }
            set {
                this.endTimeFieldSpecified = value;
                this.RaisePropertyChanged("endTimeSpecified");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        [System.ComponentModel.DefaultValueAttribute("P1D")]
        public string notificationInterval {
            get {
                return this.notificationIntervalField;
            }
            set {
                this.notificationIntervalField = value;
                this.RaisePropertyChanged("notificationInterval");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class FederationType : RegistryObjectType {
        
        private string replicationSyncLatencyField;
        
        public FederationType() {
            this.replicationSyncLatencyField = "P1D";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        [System.ComponentModel.DefaultValueAttribute("P1D")]
        public string replicationSyncLatency {
            get {
                return this.replicationSyncLatencyField;
            }
            set {
                this.replicationSyncLatencyField = value;
                this.RaisePropertyChanged("replicationSyncLatency");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class RegistryType : RegistryObjectType {
        
        private string operatorField;
        
        private string specificationVersionField;
        
        private string replicationSyncLatencyField;
        
        private string catalogingLatencyField;
        
        private RegistryTypeConformanceProfile conformanceProfileField;
        
        public RegistryType() {
            this.replicationSyncLatencyField = "P1D";
            this.catalogingLatencyField = "P1D";
            this.conformanceProfileField = RegistryTypeConformanceProfile.registryLite;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string @operator {
            get {
                return this.operatorField;
            }
            set {
                this.operatorField = value;
                this.RaisePropertyChanged("operator");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string specificationVersion {
            get {
                return this.specificationVersionField;
            }
            set {
                this.specificationVersionField = value;
                this.RaisePropertyChanged("specificationVersion");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        [System.ComponentModel.DefaultValueAttribute("P1D")]
        public string replicationSyncLatency {
            get {
                return this.replicationSyncLatencyField;
            }
            set {
                this.replicationSyncLatencyField = value;
                this.RaisePropertyChanged("replicationSyncLatency");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="duration")]
        [System.ComponentModel.DefaultValueAttribute("P1D")]
        public string catalogingLatency {
            get {
                return this.catalogingLatencyField;
            }
            set {
                this.catalogingLatencyField = value;
                this.RaisePropertyChanged("catalogingLatency");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(RegistryTypeConformanceProfile.registryLite)]
        public RegistryTypeConformanceProfile conformanceProfile {
            get {
                return this.conformanceProfileField;
            }
            set {
                this.conformanceProfileField = value;
                this.RaisePropertyChanged("conformanceProfile");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public enum RegistryTypeConformanceProfile {
        
        /// <remarks/>
        registryFull,
        
        /// <remarks/>
        registryLite,
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UserType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class PersonType : RegistryObjectType {
        
        private PostalAddressType[] addressField;
        
        private PersonNameType personNameField;
        
        private TelephoneNumberType[] telephoneNumberField;
        
        private EmailAddressType[] emailAddressField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Address", Order=0)]
        public PostalAddressType[] Address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
                this.RaisePropertyChanged("Address");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public PersonNameType PersonName {
            get {
                return this.personNameField;
            }
            set {
                this.personNameField = value;
                this.RaisePropertyChanged("PersonName");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TelephoneNumber", Order=2)]
        public TelephoneNumberType[] TelephoneNumber {
            get {
                return this.telephoneNumberField;
            }
            set {
                this.telephoneNumberField = value;
                this.RaisePropertyChanged("TelephoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EmailAddress", Order=3)]
        public EmailAddressType[] EmailAddress {
            get {
                return this.emailAddressField;
            }
            set {
                this.emailAddressField = value;
                this.RaisePropertyChanged("EmailAddress");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class UserType : PersonType {
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class SpecificationLinkType : RegistryObjectType {
        
        private InternationalStringType usageDescriptionField;
        
        private string[] usageParameterField;
        
        private string serviceBindingField;
        
        private string specificationObjectField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public InternationalStringType UsageDescription {
            get {
                return this.usageDescriptionField;
            }
            set {
                this.usageDescriptionField = value;
                this.RaisePropertyChanged("UsageDescription");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("UsageParameter", Order=1)]
        public string[] UsageParameter {
            get {
                return this.usageParameterField;
            }
            set {
                this.usageParameterField = value;
                this.RaisePropertyChanged("UsageParameter");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string serviceBinding {
            get {
                return this.serviceBindingField;
            }
            set {
                this.serviceBindingField = value;
                this.RaisePropertyChanged("serviceBinding");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string specificationObject {
            get {
                return this.specificationObjectField;
            }
            set {
                this.specificationObjectField = value;
                this.RaisePropertyChanged("specificationObject");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ServiceBindingType : RegistryObjectType {
        
        private SpecificationLinkType[] specificationLinkField;
        
        private string serviceField;
        
        private string accessURIField;
        
        private string targetBindingField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("SpecificationLink", Order=0)]
        public SpecificationLinkType[] SpecificationLink {
            get {
                return this.specificationLinkField;
            }
            set {
                this.specificationLinkField = value;
                this.RaisePropertyChanged("SpecificationLink");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string service {
            get {
                return this.serviceField;
            }
            set {
                this.serviceField = value;
                this.RaisePropertyChanged("service");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string accessURI {
            get {
                return this.accessURIField;
            }
            set {
                this.accessURIField = value;
                this.RaisePropertyChanged("accessURI");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string targetBinding {
            get {
                return this.targetBindingField;
            }
            set {
                this.targetBindingField = value;
                this.RaisePropertyChanged("targetBinding");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ServiceType : RegistryObjectType {
        
        private ServiceBindingType[] serviceBindingField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ServiceBinding", Order=0)]
        public ServiceBindingType[] ServiceBinding {
            get {
                return this.serviceBindingField;
            }
            set {
                this.serviceBindingField = value;
                this.RaisePropertyChanged("ServiceBinding");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class RegistryPackageType : RegistryObjectType {
        
        private IdentifiableType[] registryObjectListField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("ExtrinsicObject", Type = typeof(ExtrinsicObjectType), IsNullable=false)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Association", Type = typeof(AssociationType1), IsNullable = false)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RegistryPackage", Type = typeof(RegistryPackageType), IsNullable = false)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Classification", Type = typeof(ClassificationType), IsNullable = false)]
        public IdentifiableType[] RegistryObjectList
        {
            get {
                return this.registryObjectListField;
            }
            set {
                this.registryObjectListField = value;
                this.RaisePropertyChanged("RegistryObjectList");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class OrganizationType : RegistryObjectType {
        
        private PostalAddressType[] addressField;
        
        private TelephoneNumberType[] telephoneNumberField;
        
        private EmailAddressType[] emailAddressField;
        
        private string parentField;
        
        private string primaryContactField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Address", Order=0)]
        public PostalAddressType[] Address {
            get {
                return this.addressField;
            }
            set {
                this.addressField = value;
                this.RaisePropertyChanged("Address");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TelephoneNumber", Order=1)]
        public TelephoneNumberType[] TelephoneNumber {
            get {
                return this.telephoneNumberField;
            }
            set {
                this.telephoneNumberField = value;
                this.RaisePropertyChanged("TelephoneNumber");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("EmailAddress", Order=2)]
        public EmailAddressType[] EmailAddress {
            get {
                return this.emailAddressField;
            }
            set {
                this.emailAddressField = value;
                this.RaisePropertyChanged("EmailAddress");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string parent {
            get {
                return this.parentField;
            }
            set {
                this.parentField = value;
                this.RaisePropertyChanged("parent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string primaryContact {
            get {
                return this.primaryContactField;
            }
            set {
                this.primaryContactField = value;
                this.RaisePropertyChanged("primaryContact");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ExtrinsicObjectType : RegistryObjectType {
        
        private VersionInfoType contentVersionInfoField;
        
        private string mimeTypeField;
        
        private bool isOpaqueField;
        
        public ExtrinsicObjectType() {
            this.mimeTypeField = "application/octet-stream";
            this.isOpaqueField = false;
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public VersionInfoType ContentVersionInfo {
            get {
                return this.contentVersionInfoField;
            }
            set {
                this.contentVersionInfoField = value;
                this.RaisePropertyChanged("ContentVersionInfo");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute("application/octet-stream")]
        public string mimeType {
            get {
                return this.mimeTypeField;
            }
            set {
                this.mimeTypeField = value;
                this.RaisePropertyChanged("mimeType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        [System.ComponentModel.DefaultValueAttribute(false)]
        public bool isOpaque {
            get {
                return this.isOpaqueField;
            }
            set {
                this.isOpaqueField = value;
                this.RaisePropertyChanged("isOpaque");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ExternalLinkType : RegistryObjectType {
        
        private string externalURIField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string externalURI {
            get {
                return this.externalURIField;
            }
            set {
                this.externalURIField = value;
                this.RaisePropertyChanged("externalURI");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ClassificationSchemeType : RegistryObjectType {
        
        private ClassificationNodeType[] classificationNodeField;
        
        private bool isInternalField;
        
        private string nodeTypeField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ClassificationNode", Order=0)]
        public ClassificationNodeType[] ClassificationNode {
            get {
                return this.classificationNodeField;
            }
            set {
                this.classificationNodeField = value;
                this.RaisePropertyChanged("ClassificationNode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public bool isInternal {
            get {
                return this.isInternalField;
            }
            set {
                this.isInternalField = value;
                this.RaisePropertyChanged("isInternal");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string nodeType {
            get {
                return this.nodeTypeField;
            }
            set {
                this.nodeTypeField = value;
                this.RaisePropertyChanged("nodeType");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class ClassificationNodeType : RegistryObjectType {
        
        private ClassificationNodeType[] classificationNodeField;
        
        private string parentField;
        
        private string codeField;
        
        private string pathField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ClassificationNode", Order=0)]
        public ClassificationNodeType[] ClassificationNode {
            get {
                return this.classificationNodeField;
            }
            set {
                this.classificationNodeField = value;
                this.RaisePropertyChanged("ClassificationNode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string parent {
            get {
                return this.parentField;
            }
            set {
                this.parentField = value;
                this.RaisePropertyChanged("parent");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string code {
            get {
                return this.codeField;
            }
            set {
                this.codeField = value;
                this.RaisePropertyChanged("code");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string path {
            get {
                return this.pathField;
            }
            set {
                this.pathField = value;
                this.RaisePropertyChanged("path");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class AuditableEventType : RegistryObjectType {
        
        private ObjectRefListType affectedObjectsField;
        
        private string eventTypeField;
        
        private System.DateTime timestampField;
        
        private string userField;
        
        private string requestIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public ObjectRefListType affectedObjects {
            get {
                return this.affectedObjectsField;
            }
            set {
                this.affectedObjectsField = value;
                this.RaisePropertyChanged("affectedObjects");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string eventType {
            get {
                return this.eventTypeField;
            }
            set {
                this.eventTypeField = value;
                this.RaisePropertyChanged("eventType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public System.DateTime timestamp {
            get {
                return this.timestampField;
            }
            set {
                this.timestampField = value;
                this.RaisePropertyChanged("timestamp");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string user {
            get {
                return this.userField;
            }
            set {
                this.userField = value;
                this.RaisePropertyChanged("user");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string requestId {
            get {
                return this.requestIdField;
            }
            set {
                this.requestIdField = value;
                this.RaisePropertyChanged("requestId");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0")]
    public partial class AssociationType1 : RegistryObjectType {
        
        private string associationTypeField;
        
        private string sourceObjectField;
        
        private string targetObjectField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string associationType {
            get {
                return this.associationTypeField;
            }
            set {
                this.associationTypeField = value;
                this.RaisePropertyChanged("associationType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string sourceObject {
            get {
                return this.sourceObjectField;
            }
            set {
                this.sourceObjectField = value;
                this.RaisePropertyChanged("sourceObject");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string targetObject {
            get {
                return this.targetObjectField;
            }
            set {
                this.targetObjectField = value;
                this.RaisePropertyChanged("targetObject");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0")]
    public partial class RegistryRequestType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private SlotType1[] requestSlotListField;
        
        private string idField;
        
        private string commentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Slot", Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", IsNullable=false)]
        public SlotType1[] RequestSlotList {
            get {
                return this.requestSlotListField;
            }
            set {
                this.requestSlotListField = value;
                this.RaisePropertyChanged("RequestSlotList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
                this.RaisePropertyChanged("id");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string comment {
            get {
                return this.commentField;
            }
            set {
                this.commentField = value;
                this.RaisePropertyChanged("comment");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:ihe:iti:xds-b:2007")]
    public partial class ProvideAndRegisterDocumentSetRequestType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private SubmitObjectsRequest submitObjectsRequestField;
        
        private ProvideAndRegisterDocumentSetRequestTypeDocument[] documentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0", Order=0)]
        public SubmitObjectsRequest SubmitObjectsRequest {
            get {
                return this.submitObjectsRequestField;
            }
            set {
                this.submitObjectsRequestField = value;
                this.RaisePropertyChanged("SubmitObjectsRequest");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("Document", Order=1)]
        public ProvideAndRegisterDocumentSetRequestTypeDocument[] Document {
            get {
                return this.documentField;
            }
            set {
                this.documentField = value;
                this.RaisePropertyChanged("Document");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0")]
    public partial class SubmitObjectsRequest : RegistryRequestType {
        
        private IdentifiableType[] registryObjectListField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("ExtrinsicObject", Type = typeof(ExtrinsicObjectType), IsNullable = false)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Association", Type = typeof(AssociationType1), IsNullable = false)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Classification", Type = typeof(ClassificationType), IsNullable = false)]
        [System.Xml.Serialization.XmlArrayItemAttribute("RegistryPackage", Type = typeof(RegistryPackageType), IsNullable = false)]
        public IdentifiableType[] RegistryObjectList
        {
            get {
                return this.registryObjectListField;
            }
            set {
                this.registryObjectListField = value;
                this.RaisePropertyChanged("RegistryObjectList");
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:ihe:iti:xds-b:2007")]
    public partial class ProvideAndRegisterDocumentSetRequestTypeDocument : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string idField;
        
        private byte[] valueField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
                this.RaisePropertyChanged("id");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute(DataType="base64Binary")]
        public byte[] Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0")]
    public partial class RegistryResponseType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private SlotType1[] responseSlotListField;
        
        private RegistryErrorList registryErrorListField;
        
        private string statusField;
        
        private string requestIdField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayAttribute(Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("Slot", Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0", IsNullable=false)]
        public SlotType1[] ResponseSlotList {
            get {
                return this.responseSlotListField;
            }
            set {
                this.responseSlotListField = value;
                this.RaisePropertyChanged("ResponseSlotList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public RegistryErrorList RegistryErrorList {
            get {
                return this.registryErrorListField;
            }
            set {
                this.registryErrorListField = value;
                this.RaisePropertyChanged("RegistryErrorList");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string status {
            get {
                return this.statusField;
            }
            set {
                this.statusField = value;
                this.RaisePropertyChanged("status");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string requestId {
            get {
                return this.requestIdField;
            }
            set {
                this.requestIdField = value;
                this.RaisePropertyChanged("requestId");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0")]
    public partial class RegistryErrorList : object, System.ComponentModel.INotifyPropertyChanged {
        
        private RegistryError[] registryErrorField;
        
        private string highestSeverityField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("RegistryError", Order=0)]
        public RegistryError[] RegistryError {
            get {
                return this.registryErrorField;
            }
            set {
                this.registryErrorField = value;
                this.RaisePropertyChanged("RegistryError");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        public string highestSeverity {
            get {
                return this.highestSeverityField;
            }
            set {
                this.highestSeverityField = value;
                this.RaisePropertyChanged("highestSeverity");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0")]
    public partial class RegistryError : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string codeContextField;
        
        private string errorCodeField;
        
        private string severityField;
        
        private string locationField;
        
        private string valueField;
        
        public RegistryError() {
            this.severityField = "urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error";
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string codeContext {
            get {
                return this.codeContextField;
            }
            set {
                this.codeContextField = value;
                this.RaisePropertyChanged("codeContext");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string errorCode {
            get {
                return this.errorCodeField;
            }
            set {
                this.errorCodeField = value;
                this.RaisePropertyChanged("errorCode");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(DataType="anyURI")]
        [System.ComponentModel.DefaultValueAttribute("urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error")]
        public string severity {
            get {
                return this.severityField;
            }
            set {
                this.severityField = value;
                this.RaisePropertyChanged("severity");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string location {
            get {
                return this.locationField;
            }
            set {
                this.locationField = value;
                this.RaisePropertyChanged("location");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value {
            get {
                return this.valueField;
            }
            set {
                this.valueField = value;
                this.RaisePropertyChanged("Value");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="urn:ihe:iti:xds-b:2007")]
    public partial class RetrieveDocumentSetResponseType : object, System.ComponentModel.INotifyPropertyChanged {
        
        private RegistryResponseType registryResponseField;
        
        private RetrieveDocumentSetResponseTypeDocumentResponse[] documentResponseField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", Order=0)]
        public RegistryResponseType RegistryResponse {
            get {
                return this.registryResponseField;
            }
            set {
                this.registryResponseField = value;
                this.RaisePropertyChanged("RegistryResponse");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("DocumentResponse", Order=1)]
        public RetrieveDocumentSetResponseTypeDocumentResponse[] DocumentResponse {
            get {
                return this.documentResponseField;
            }
            set {
                this.documentResponseField = value;
                this.RaisePropertyChanged("DocumentResponse");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="urn:ihe:iti:xds-b:2007")]
    public partial class RetrieveDocumentSetResponseTypeDocumentResponse : object, System.ComponentModel.INotifyPropertyChanged {
        
        private string homeCommunityIdField;
        
        private string repositoryUniqueIdField;
        
        private string documentUniqueIdField;
        
        private string newRepositoryUniqueIdField;
        
        private string newDocumentUniqueIdField;
        
        private string mimeTypeField;
        
        private byte[] documentField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=0)]
        public string HomeCommunityId {
            get {
                return this.homeCommunityIdField;
            }
            set {
                this.homeCommunityIdField = value;
                this.RaisePropertyChanged("HomeCommunityId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=1)]
        public string RepositoryUniqueId {
            get {
                return this.repositoryUniqueIdField;
            }
            set {
                this.repositoryUniqueIdField = value;
                this.RaisePropertyChanged("RepositoryUniqueId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=2)]
        public string DocumentUniqueId {
            get {
                return this.documentUniqueIdField;
            }
            set {
                this.documentUniqueIdField = value;
                this.RaisePropertyChanged("DocumentUniqueId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=3)]
        public string NewRepositoryUniqueId {
            get {
                return this.newRepositoryUniqueIdField;
            }
            set {
                this.newRepositoryUniqueIdField = value;
                this.RaisePropertyChanged("NewRepositoryUniqueId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=4)]
        public string NewDocumentUniqueId {
            get {
                return this.newDocumentUniqueIdField;
            }
            set {
                this.newDocumentUniqueIdField = value;
                this.RaisePropertyChanged("NewDocumentUniqueId");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(Order=5)]
        public string mimeType {
            get {
                return this.mimeTypeField;
            }
            set {
                this.mimeTypeField = value;
                this.RaisePropertyChanged("mimeType");
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=6)]
        public byte[] Document {
            get {
                return this.documentField;
            }
            set {
                this.documentField = value;
                this.RaisePropertyChanged("Document");
            }
        }
        
        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        
        protected void RaisePropertyChanged(string propertyName) {
            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if ((propertyChanged != null)) {
                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
            }
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class DocumentRepository_RetrieveDocumentSetRequest {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="urn:ihe:iti:xds-b:2007", Order=0)]
        [System.Xml.Serialization.XmlArrayItemAttribute("DocumentRequest", IsNullable=false)]
        public RetrieveDocumentSetRequestTypeDocumentRequest[] RetrieveDocumentSetRequest;
        
        public DocumentRepository_RetrieveDocumentSetRequest() {
        }
        
        public DocumentRepository_RetrieveDocumentSetRequest(RetrieveDocumentSetRequestTypeDocumentRequest[] RetrieveDocumentSetRequest) {
            this.RetrieveDocumentSetRequest = RetrieveDocumentSetRequest;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class DocumentRepository_RetrieveDocumentSetResponse {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="urn:ihe:iti:xds-b:2007", Order=0)]
        public MARC.IHE.Xds.Repository.RetrieveDocumentSetResponseType RetrieveDocumentSetResponse;
        
        public DocumentRepository_RetrieveDocumentSetResponse() {
        }
        
        public DocumentRepository_RetrieveDocumentSetResponse(MARC.IHE.Xds.Repository.RetrieveDocumentSetResponseType RetrieveDocumentSetResponse) {
            this.RetrieveDocumentSetResponse = RetrieveDocumentSetResponse;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class DocumentRepository_ProvideAndRegisterDocumentSetbRequest {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="urn:ihe:iti:xds-b:2007", Order=0)]
        public MARC.IHE.Xds.Repository.ProvideAndRegisterDocumentSetRequestType ProvideAndRegisterDocumentSetRequest;
        
        public DocumentRepository_ProvideAndRegisterDocumentSetbRequest() {
        }
        
        public DocumentRepository_ProvideAndRegisterDocumentSetbRequest(MARC.IHE.Xds.Repository.ProvideAndRegisterDocumentSetRequestType ProvideAndRegisterDocumentSetRequest) {
            this.ProvideAndRegisterDocumentSetRequest = ProvideAndRegisterDocumentSetRequest;
        }
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
    [System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
    public partial class DocumentRepository_ProvideAndRegisterDocumentSetbResponse {
        
        [System.ServiceModel.MessageBodyMemberAttribute(Namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0", Order=0)]
        public MARC.IHE.Xds.Repository.RegistryResponseType RegistryResponse;
        
        public DocumentRepository_ProvideAndRegisterDocumentSetbResponse() {
        }
        
        public DocumentRepository_ProvideAndRegisterDocumentSetbResponse(MARC.IHE.Xds.Repository.RegistryResponseType RegistryResponse) {
            this.RegistryResponse = RegistryResponse;
        }
    }
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public interface DocumentRepository_PortTypeChannel : MARC.IHE.Xds.Repository.DocumentRepository_PortType, System.ServiceModel.IClientChannel {
    }
    
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    public partial class DocumentRepository_PortTypeClient : System.ServiceModel.ClientBase<MARC.IHE.Xds.Repository.DocumentRepository_PortType>, MARC.IHE.Xds.Repository.DocumentRepository_PortType {
        
        public DocumentRepository_PortTypeClient() {
        }
        
        public DocumentRepository_PortTypeClient(string endpointConfigurationName) : 
                base(endpointConfigurationName) {
        }
        
        public DocumentRepository_PortTypeClient(string endpointConfigurationName, string remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public DocumentRepository_PortTypeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(endpointConfigurationName, remoteAddress) {
        }
        
        public DocumentRepository_PortTypeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
                base(binding, remoteAddress) {
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        MARC.IHE.Xds.Repository.DocumentRepository_RetrieveDocumentSetResponse MARC.IHE.Xds.Repository.DocumentRepository_PortType.DocumentRepository_RetrieveDocumentSet(MARC.IHE.Xds.Repository.DocumentRepository_RetrieveDocumentSetRequest request) {
            return base.Channel.DocumentRepository_RetrieveDocumentSet(request);
        }
        
        public MARC.IHE.Xds.Repository.RetrieveDocumentSetResponseType DocumentRepository_RetrieveDocumentSet(RetrieveDocumentSetRequestTypeDocumentRequest[] RetrieveDocumentSetRequest) {
            MARC.IHE.Xds.Repository.DocumentRepository_RetrieveDocumentSetRequest inValue = new MARC.IHE.Xds.Repository.DocumentRepository_RetrieveDocumentSetRequest();
            inValue.RetrieveDocumentSetRequest = RetrieveDocumentSetRequest;
            MARC.IHE.Xds.Repository.DocumentRepository_RetrieveDocumentSetResponse retVal = ((MARC.IHE.Xds.Repository.DocumentRepository_PortType)(this)).DocumentRepository_RetrieveDocumentSet(inValue);
            return retVal.RetrieveDocumentSetResponse;
        }
        
        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
        MARC.IHE.Xds.Repository.DocumentRepository_ProvideAndRegisterDocumentSetbResponse MARC.IHE.Xds.Repository.DocumentRepository_PortType.DocumentRepository_ProvideAndRegisterDocumentSetb(MARC.IHE.Xds.Repository.DocumentRepository_ProvideAndRegisterDocumentSetbRequest request) {
            return base.Channel.DocumentRepository_ProvideAndRegisterDocumentSetb(request);
        }
        
        public MARC.IHE.Xds.Repository.RegistryResponseType DocumentRepository_ProvideAndRegisterDocumentSetb(MARC.IHE.Xds.Repository.ProvideAndRegisterDocumentSetRequestType ProvideAndRegisterDocumentSetRequest) {
            MARC.IHE.Xds.Repository.DocumentRepository_ProvideAndRegisterDocumentSetbRequest inValue = new MARC.IHE.Xds.Repository.DocumentRepository_ProvideAndRegisterDocumentSetbRequest();
            inValue.ProvideAndRegisterDocumentSetRequest = ProvideAndRegisterDocumentSetRequest;
            MARC.IHE.Xds.Repository.DocumentRepository_ProvideAndRegisterDocumentSetbResponse retVal = ((MARC.IHE.Xds.Repository.DocumentRepository_PortType)(this)).DocumentRepository_ProvideAndRegisterDocumentSetb(inValue);
            return retVal.RegistryResponse;
        }
    }
}
